<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
</body>
</html>
<script>

// function Author(name, home) {
//   this.name = name;
//   this.home = home;
// }

// // prototype 是原型模式，目的：为了 代码的复用
// Author.prototype.write = function(bookName) {
//   console.log(this, '写了一本书', bookName);
// }


// 其他的「语言」，关于 创造对象，  都是 new class （类）


// ES6为了：1）复用的函数代码与构造函数，“关联性”更强；  2）为了其他语言的开发者，更容易学习 JS 的对象

// 所以提出了 class；但本质 class 是 自定义构造函数的 “语法糖”。
  // 什么叫“语法糖”：xx的原理不变，写法与xx有所变化，即叫 xx 的语法糖。

class Author {
  // 构造函数
  constructor(name, home) {
    this.name = name;
    this.home = home;
  }

  write() {
    console.log(this, '写了一本书', bookName);
  }
}

const zilong = new Author('宋子龙', '威海');
console.log(zilong);

</script>